#include "StdAfx.h"
#include "SqliteDb.h"
#include <sqlite3.h>

sqlite3   *pDB = 0;
CSqliteDb::CSqliteDb()
{

}


CSqliteDb::~CSqliteDb(void)
{
}



int CSqliteDb::opendb(const char * db)
{
	int res = 0;
	res = sqlite3_open(db, &pDB);
	return res;
}

int CSqliteDb::closedb()
{
	int res = 0;
	res = sqlite3_close(pDB);
	return res;
}


int CSqliteDb::dbbegintran(char * errMsg)
{
	int res= sqlite3_exec(pDB,"begin transaction;",0,0, &errMsg);
	return res;
}

int CSqliteDb::dbcommittran(char * errMsg)
{
	int res= sqlite3_exec(pDB,"commit transaction;",0,0, &errMsg);
	return res;
}


int CSqliteDb::getdatabases(std::list<int ,char * > & dblist,char * errMsg)
{
	int res= sqlite3_exec(pDB,"commit transaction;",0,0, &errMsg);
	return res;
}

int CSqliteDb::gettableses(std::list<int ,char * > & dblist,char * errMsg)
{
	int res= sqlite3_exec(pDB,"commit transaction;",0,0, &errMsg);
	return res;
}

int CSqliteDb::getconlumes(const char * table,std::list<int ,char * > & dblist,char * errMsg)
{
	int res= sqlite3_exec(pDB,"commit transaction;",0,0, &errMsg);
	return res;
}

int CSqliteDb::execsqlscript(const char * sql,char *errMsg)
{
	int res = 0;
	res = execsqlscript(sql, 0 , 0 , errMsg);
	return res;
}


int CSqliteDb::execsqlscript(const char * sql,int (*callback)(void*,int,char**,char**),
		void *,char *errMsg)
{
	int res = 0;
	res = sqlite3_exec(pDB, sql, callback , 0 , &errMsg);
	return res;
}


int CSqliteDb::execsqlscript(const char * sql,sqlite3_stmt *pstmt,const char * errMsg)
{
	int res = 0;
	res = sqlite3_prepare(pDB, sql, strlen(sql), &pstmt, &errMsg);
	return res;
}
